import openpyxl


class ExcelCellAccessor:
    def __init__(self, file_path: str):
        """
        初始化类实例，打开指定的Excel文件。

        :param file_path: Excel文件路径。
        """
        self.file_path = file_path  # 保存传入的file_path作为实例变量
        self.wb = openpyxl.load_workbook(file_path)
        self.active_sheet = self.wb.active

    def read_cell(self, row: int, column: int) -> str:
        """
        读取指定行和列的单元格内容。

        :param row: 行号（从1开始计数）。
        :param column: 列号（字母表示，如"A"、"B"等）。
        :return: 单元格的值（字符串形式）。
        """
        cell = self.active_sheet[f'{column}{row}']
        return str(cell.value)

    def write_cell(self, row: int, column: int, value: str):
        """
        将指定值写入指定行和列的单元格。

        :param row: 行号（从1开始计数）。
        :param column: 列号（字母表示，如"A"、"B"等）。
        :param value: 要写入的值（字符串形式）。
        """
        cell = self.active_sheet[f'{column}{row}']
        cell.value = value

        # 保存对Excel文件的修改
        self.wb.save(self.file_path)  # 使用保存的file_path保存文件

    def close(self):
        """
        关闭已打开的Excel工作簿，释放资源。
        """
        self.wb.close()


accessor = ExcelCellAccessor('analysis.xlsx')
